package sg.edu.nus.iss.billing.entity.service;

import java.math.BigDecimal;

import sg.edu.nus.iss.billing.entity.RecordState;
import sg.edu.nus.iss.billing.entity.transaction.CallType;

public class RateVAService extends ValueAddedService implements
		RateChargable {

	private RateUnit rateUnit;

	private BigDecimal serviceRate;
	
	private CallType callType;


	public RateVAService(String serviceProductID, String serviceName,CallType type, BigDecimal fixedMonthlyCharge, RateUnit rateUnit, BigDecimal rate, RecordState state) {

		super(serviceProductID, serviceName, fixedMonthlyCharge);
		this.callType = type;
		this.rateUnit = rateUnit;
		this.serviceRate = rate;
		this.active = state;
	}

	private static final long serialVersionUID = 3845323381017619712L;

	@Override
	public void setServiceRate(BigDecimal serviceRate) {

		this.serviceRate = serviceRate;

	}

	@Override
	public BigDecimal getServiceRate() {

		return this.serviceRate;
	}

	@Override
	public void setRateUnit(RateUnit rateUnit) {

		this.rateUnit = rateUnit;

	}

	@Override
	public RateUnit getRateUnit() {

		return this.rateUnit;
	}
	
	
	public CallType getCallType() {
	
		return callType;
	}

	
	public void setCallType(CallType callType) {
	
		this.callType = callType;
	}

	@Override
	public String toString() {

		return "RateVAService [rateUnit="+rateUnit+", serviceRate="+serviceRate+", callType="+callType+super.toString();
	}
	
	

}
